Rutger Okhuizen 7/31/2006

Implement waiting algorithm for GEOIP_CHECK_CACHE,
so stat is called on every lookup.

-----------------------

Maurice Cinquini

*** ifndef WIN32 on netdb.h ? ***
In GeoIPCity.c you don't "#ifndef WIN32" the netdb.h include,
but in GeoIP.c you do.� Which one is right?

*** Warnings in GeoIP-1.2.1 before I made changes ***
GeoIPUpdate.c:73: warning: implicit declaration of function `_setup_dbfilename'
��� I suggest a GeoIP_private.h file to include prototypes for
��� _setup_dbfilename and other private functions also used by GeoIPCity.c

*** Drop the GeoIP_*_by_addr API calls ***
And now that I think of it, why do you need a seperate
GeoIP_region_by_addr and GeoIP_region_by_name since
the later does the work of the former just as efficently.
For backward compatibility you could #define GeoIP_region_by_addr
to GeoIP_region_by_name




Performance improvements suggested by Jason Linhart
1. cluster nodes to improve disk performance when using GEOIP_STANDARD
2. evaluate preformance of replacing binary tree with nodes containing 4 children

Write function to list countries, sorted by name.  Chris Gibbs contributed this which could be
used:

 int GeoIP_country_sorted_index[246] = {
  0, 5, 8, 61, 14, 3, 11, 7, 12, 6, 13, 9, 17, 1, 16, 15, 18, 32, 25, 21,
 20,36, 22, 37, 27, 28, 33, 30, 19, 35, 34, 31, 104, 29, 24, 23, 26,
114, 47, 38, 52,121, 41, 207, 46, 48, 53, 39, 49, 116, 42, 40, 45,
 50, 44, 97, 51, 54, 55, 58, 57, 59, 60, 216, 62, 64, 203, 87, 66,
 63, 68, 2, 71, 73, 70, 69, 74, 75, 80, 170,208, 76, 84, 79, 56, 81,
82, 88, 83, 78, 86, 91, 90, 85, 92, 93, 98, 95, 228, 96,94, 99, 107,
 103, 100, 106, 105, 101, 102, 108, 109, 111, 110, 122, 112, 115,
 118,119, 120, 113, 123, 132, 124, 129, 128, 133, 126, 130, 131,
 143, 139, 137,151,153, 150, 140, 148, 138, 145, 146, 149, 238,
 152, 72, 136, 135, 142, 147, 134,154, 141, 155, 164, 163, 161,
10, 156, 166, 160, 157, 159, 165, 158, 144, 162, 167,173, 180,
178, 168, 171, 181, 169, 172, 176, 174, 179, 177, 182, 183, 184,
185,186, 193, 117, 125, 175, 229, 236, 198, 202, 187, 199, 189,
197, 192, 196,194,188, 200, 240, 89, 67, 127, 190, 201, 195, 205,
191, 43, 204, 220, 211, 221,210,209, 212, 215, 218, 214, 217,
213,206, 219, 223, 222, 4, 77, 225, 224, 226,227,234, 230, 233,
 231,232, 235, 65, 237, 239, 242, 241, 243, 244, 245};

